package com.shujia.sql


import org.apache.spark.sql.{DataFrame, SparkSession}

object Demo2SparkSession {

  def main(args: Array[String]): Unit = {

    /**
      * spark 2.0 之后统一使用SparkSession 作为入口
      *
      */

    val spark: SparkSession = SparkSession
      .builder()
      .appName("spark")
      .master("local")
      .getOrCreate() //获取或者创建


    //导入spark sql 隐式转换
    import spark.implicits._

    /**
      * DataFrame ：自带列名
      *
      */


    val stuDF: DataFrame = spark.read.json("spark/data/students.json")



    //打印DF表结构
    stuDF.printSchema()

    /**
      *
      * DSL 语法  类sql语法
      *
      */
    //统计班级人数
    stuDF
      .groupBy("clazz")
      .count()
      .show()


    stuDF.select("id", "name").show()


    stuDF.select($"name", $"age".+(100)).show()

    stuDF.select($"name", $"age" + 100).show()

  }

}
